/** ****************************************************************************
@defgroup SHIP_RFIC_DRIVER SHIP 协议-射频芯片驱动
@ingroup SHIP
@brief 智辰科技 SHIP (Smart Home Intercomm Protocol) 智能家居互联协议，射频芯片驱动
@addtogroup SHIP_RFIC_DRIVER
@{
*******************************************************************************/

#ifndef __SPI_H
#define __SPI_H

#include <stm32f10x_spi.h>
#include "mcu.h"

#ifdef __cplusplus
extern "C" {
#endif


/// SPI 接口数据结构(同 @see SPI_TypeDef)
typedef struct _st_spi mcu_spi_port_t;

/// @brief SPI 接口初始化
/// 初始化参数类型，各类型取值范围参见 @see SPI_InitTypeDef
std_err_t mcu_spi_init(
	mcu_spi_port_t *spi,
	uint16_t direction,
	uint16_t mode,
	uint16_t datasize,
	uint16_t cpol,
	uint16_t cpha,
	uint16_t nss,
	uint16_t baudrate_prescaler,
	uint16_t firstbit,
	uint16_t crc_polynomial
);

/// @brief 通过 SPI 接口写一个字节，并读取返回值
/// @attention 注意：调用此函数前应拉低 CSn !!!
uint16_t mcu_spi_trx(mcu_spi_port_t *spi, uint16_t ch);


#ifdef __cplusplus
}
#endif

#endif  // __SPI_H
/// @}
